<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
*/
include_once("logica/Usuario.php");



class FachadaI {

    // Para implementar el patron singleton.
    private static $instance;

    // Metodo que permite obtener la unica instancia de la clase.
    public static function getInstance() {

        //si no existe instancia de la clase se crea
        // si existe se retorna la instancia existente.
        if( self::$instance == null ) {
            self::$instance = new self();
        }

        return self::$instance;
    }

    // Privado se previene la creacion via new.
    private function __construct() {

    }

    // Para evitar la clonacion de este objeto.
    private function __clone() {
        throw new Exception('No se puede clonar');
    }

    public function __wakeup() {
        throw new Exception("No se puede deserializar una instancia de ". get_class($this) ." class.");
    }


    public function __sleep() {
        throw new Exception("No se puede serializar una instancia de ". get_class($this) ." class.");
    }


   
    function crearUsuario($nombre, $apellido, $correo, $universidad,$password, $justificacion, $profesorEncargado,$tipoUsuario) {

        // Crea un objeto usuario.
        $usuario = new Usuario($correo, $nombre, $apellido, $universidad, $password,$justificacion,$profesorEncargado,$tipoUsuario);

       $guarda=$usuario->existeUsuario($correo);
        if ($guarda==1) {
                    $guarda=1;
                }else{
        // Inserta el usuario.
        $usuario->insertarUsuario();
        $guarda=0;
        }
        return $guarda; 	
    }

    function desactivarUsuario($correo) {

        // Crea un objeto Usuario.
        $usuario = new Usuario($correo, null, null, null, null,null,null);

       $result=$usuario->desactivarUsuario($correo);
        if ($result==1) {
                    $result=1;
                }else{
        // Inserta el Usuario.
        //$usuario->desactivarUsuario();
        $result=0;
        }
        return $result;
    }
    function activarUsuario($correo) {

        // Crea un objeto usuario.
        $usuario = new Usuario($correo, null, null, null, null,null,null);

       $result=$usuario->activarUsuario($correo);
        if ($result==1) {
                    $result=1;
                }else{
        // Inserta el Usuario.
        //$usuario->desactivarUsuario();
        $result=0;
        }
        return $result;
    }
   
}
?>
